package edison.persistence;

public interface ItemService {

	public String getRootPath() throws PersistenceException;

	public ItemBean getItemByPath(String absPath) throws PersistenceException;

	public NodeBean getNodeByPath(String absPath) throws PersistenceException;

	public NodeBean getNodeById(String Id) throws PersistenceException;

	public ResultIterator getChildNodesByPath(String absPath) throws PersistenceException;

	public ResultIterator getChildNodesByPath(String absPath, String namePattern) throws PersistenceException;

	public ResultIterator getChildNodesByPath(String absPath, String[] nameGlobs) throws PersistenceException;

	public PropertyBean getPropertyByPath(String absPath) throws PersistenceException;

	public PropertyBean getPropertyByNode(String nodeId, String propertyName) throws PersistenceException;

	public ResultIterator getChildPropertiesByPath(String absPath) throws PersistenceException;

	public ResultIterator getChildPropertiesByPath(String absPath, String namePattern) throws PersistenceException;

	public ResultIterator getChildPropertiesByPath(String absPath, String[] nameGlobs) throws PersistenceException;

	public ResultIterator getReferenceChildPropertiesByPath(String absPath) throws PersistenceException;

	public ResultIterator getReferenceChildPropertiesByPath(String absPath, String name) throws PersistenceException;

	public ResultIterator getWeakReferenceChildPropertiesByPath(String absPath) throws PersistenceException;

	public ResultIterator getWeakReferenceChildPropertiesByPath(String absPath, String name) throws PersistenceException;

	public boolean itemExists(String absPath) throws PersistenceException;

	public boolean nodeExists(String absPath) throws PersistenceException;

	public boolean propertyExists(String absPath) throws PersistenceException;

	public boolean childNodeExists(String absPath) throws PersistenceException;

	public boolean childPropertyExists(String absPath) throws PersistenceException;

	public void move(String srcAbsPath, String destAbsPath) throws PersistenceException;

	public void removeItem(String absPath) throws PersistenceException;

}
